import {
  IsArray,
  IsNotEmpty,
  IsOptional,
  IsString,
  Length,
} from 'class-validator';

export class UserCreateReqDto {
  @IsString({
    message: '$property 用户名必须是字符串',
  })
  @IsNotEmpty({
    message: '$property 用户名不能为空',
  })
  @Length(3, 100, {
    message: '$property 用户名长度应该在 $constraint1 到 $constraint2 之间',
  })
  username: string;

  @IsString({
    message: '$property 密码必须是字符串',
  })
  @IsNotEmpty({
    message: '$property 密码不能为空',
  })
  @Length(6, 100, {
    message: '$property 密码长度应该在 $constraint1 到 $constraint2 之间',
  })
  password: string;

  @IsOptional()
  @IsArray({
    message: '$property 角色必须是 number[]',
  })
  roleIds?: number[];
}
